//初始化编辑器
var testEditor;
$(function () {
    testEditor = editormd("article-content", {
        width: "100%",
        height: "82vh",
        path: '/js/editormd/lib/',
        theme: "white",
        previewTheme: "white",
        editorTheme: "pastel-on-white",
        markdown: "",
        codeFold: true,
        saveHTMLToTextarea: true, // 保存 HTML 到 Textarea
        searchReplace: true,
        //watch : false,                // 关闭实时预览
        htmlDecode: "style,script,iframe|on*", // 开启 HTML 标签解析，为了安全性，默认不开启
        //toolbar  : false,             //关闭工具栏
        //previewCodeHighlight : false, // 关闭预览 HTML 的代码块高亮，默认开启
        emoji: true,
        taskList: true,
        tocm: true, // Using [TOCM]
        tex: true, // 开启科学公式TeX语言支持，默认关闭
        flowChart: true, // 开启流程图支持，默认关闭
        sequenceDiagram: true, // 开启时序/序列图支持，默认关闭,
        dialogLockScreen: false, // 设置弹出层对话框不锁屏，全局通用，默认为true
        dialogShowMask: false, // 设置弹出层对话框显示透明遮罩层，全局通用，默认为true
        dialogDraggable: false, // 设置弹出层对话框不可拖动，全局通用，默认为true
        dialogMaskOpacity: 0.4, // 设置透明遮罩层的透明度，全局通用，默认值为0.1
        dialogMaskBgColor: "#000", // 设置透明遮罩层的背景颜色，全局通用，默认为#fff
        imageUpload: true,
        imageFormats: ["jpg", "jpeg", "gif", "png", "bmp", "webp"],
        imageUploadURL: "/api/oss/upload?dir=blogs",
        onload: function () {
//						this.fullscreen();
//						this.unwatch();
//						this.watch().fullscreen();
//
//						this.setMarkdown("#PHP");
//						this.width("100%");
//						this.height(480);
//						this.resize("100%", 640);

//获取编辑器内容

//				testEditor.gotoLine(90); //转到第90行
//
//				testEditor.show(); //显示编辑器
//
//				testEditor.hide(); //隐藏编辑器
//
//				alert(testEditor.getMarkdown()); //获取编辑器内容（不含html）
//
//				alert(testEditor.getHTML()); //获取编辑器html内容
//
//				testEditor.watch(); //开启双窗口对比
//
//				testEditor.unwatch(); //取消双窗口对比
//
//				testEditor.previewing(); //预览效果
//
//				testEditor.fullscreen(); //全屏（按ESC取消）
//
//				testEditor.showToolbar(); //显示工具栏
//
//				testEditor.hideToolbar(); //隐藏工具栏
//
//				testEditor.config({
//					tocDropdown: true,
//					tocTitle: "目录 Table of Contents",
//				}); //TOC下拉菜单
//
//				testEditor.config("tocDropdown", false); //TOC默认
        }
    });


});

var vm = Vue.createApp({
    data() {
        return {
            blog: {
                id: "",
                title: "",
                categoryId: "1",
                categoryTitle: "程序人生",
                img:"",
                description: "",
                content: "",
                htmlContent: ""
            }
        }
    },
    mounted() {
        let id = this.$refs.blogId.value;
        if (id) {
            this.blog.id = id;
            this.getBlogById();
        }
    },
    methods: {
        saveBlog() {
            this.blog.content = testEditor.getMarkdown();
            this.blog.htmlContent = testEditor.getHTML();
            this.blog.img = this.$refs.blogImg.value;

            axios.post("/api/blog/saveOrUpdate", this.blog).then(res => {
                if (this.blog.id) {
                    alert("修改成功!!!")
                    window.location.href = window.location.href;
                } else {
                    alert("保存成功")
                    window.location.href = "/?cid" + this.blog.categoryId;
                }
            })
        },
        changeCategory(obj) {
            var selectIndex = obj.target.selectedIndex;
            var options = obj.target.options;
            this.blog.categoryId = options[selectIndex].value;
            this.blog.categoryTitle = options[selectIndex].text;
        },
        getBlogById() {
            axios.get("/api/blog/get/" + this.blog.id).then(res => {
                this.blog = res.data;
                if(res.data.img){
                    document.getElementById("imgshow").src = res.data.img;
                }
                setTimeout(() => {
                    testEditor.setMarkdown(res.data.content);
                }, 300)
            })
        }
    }
}).mount("#app");